#ifndef THREAD_THREAD_H
#define THREAD_THREAD_H

#include <string>
#include <pthread.h>

using std::string;

class Thread {
 public:
  Thread();
  Thread(const string& name);
  virtual ~Thread();
  void Start();
  void Join();
  virtual void Run() = 0;
 private:
  string name_;
  pthread_t thread_;
};

#endif
